/**
 * 
 */
package controller;

import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.net.Socket;
import java.util.Vector;

import model.Kunde;
import model.Reservierung;
import query.ReservierungGetRowQuery;
import query.ReservierungInsertQuery;
import query.ReservierungSuchenQuery;

/**
 * @author squader
 *
 */
public class ControllerReservierung implements Serializable{

	private static final long serialVersionUID = -588911383972619474L;
	
		public static Vector<Reservierung> getReservierung(){
			try{
				//Socket erstellen
				Socket socket = new Socket("20.49.184.100", 5550);
				
				//Outputstream erstellen
				ObjectOutputStream clientOutputStream = new ObjectOutputStream(
						socket.getOutputStream());
	
				//Inputstream erstellen
				ObjectInputStream clientInputStream = new ObjectInputStream(
						socket.getInputStream());
				
				//Controller KundeSuchenQuery erstellen
				ReservierungSuchenQuery rs = new ReservierungSuchenQuery();
				
				//Controller Objekt an Server senden
				clientOutputStream.writeObject(rs);
		
				//Antwort von Server erhalten
				Object inputObj = clientInputStream.readObject();
				Vector<Reservierung> vector = (Vector<Reservierung>) inputObj;
				return vector;
			} catch (Exception e){
				
			}
			return null;
		}
		
		public static Reservierung getReservierung(int id){
			try{
				//Socket erstellen
				Socket socket = new Socket("20.49.184.100", 5550);
				
				//Outputstream erstellen
				ObjectOutputStream clientOutputStream = new ObjectOutputStream(
						socket.getOutputStream());
				
				//Inputstream erstellen
				ObjectInputStream clientInputStream = new ObjectInputStream(
						socket.getInputStream());
				
				//Controller KundeSuchenQuery erstellen
				ReservierungGetRowQuery rgr = new ReservierungGetRowQuery();
				rgr.setId(id);
				
				//Controller Objekt an Server senden
				clientOutputStream.writeObject(rgr);
		
				//Antwort von Server erhalten
				Object inputObj = clientInputStream.readObject();
				return (Reservierung) inputObj;
			} catch (Exception e){
				
			}
			return null;
			
		}
		
		public static Reservierung insertReservierung(Reservierung reservierung){
			System.out.println("ControllerReservierung: Start");
			try{
				//Socket erstellen
				Socket socket = new Socket("20.49.184.100", 5550);
				
				//Outputstream erstellen
				ObjectOutputStream clientOutputStream = new ObjectOutputStream(socket.getOutputStream());
				
				//Inputstream erstellen
				ObjectInputStream clientInputStream = new ObjectInputStream(socket.getInputStream());
				
				//Controller KundeSuchenQuery erstellen
				ReservierungInsertQuery ri = new ReservierungInsertQuery(reservierung);
				
				//Controller Objekt an Server senden
				clientOutputStream.writeObject(ri);
		
				//Antwort von Server erhalten
				Object inputObj = clientInputStream.readObject();
				return (Reservierung) inputObj;
			} catch (Exception e){
		
			}
			return null;
		}

}

